package com.leyou.search.pojo;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.util.Date;
import java.util.Map;
import java.util.Set;

@Data
@Document(indexName = "goods", type = "docs", shards = 1, replicas = 0)
public class Goods {
    @Id
    private Long id;                    // spuId

    @Field(type = FieldType.Text, analyzer = "ik_max_word")
    private String all;                 // 所有需要被搜索的信息，包含标题，分类，甚至品牌

    @Field(type = FieldType.Keyword, index = false)
    private String subTitle;            // 卖点

    private Long brandId;               // 品牌 id
    private Long cid1;                  // 1 级分类 id
    private Long cid2;                  // 2 级分类 id
    private Long cid3;                  // 3 级分类 id
    private Date createTime;            // spu 创建时间
    private Set<Long> price;           // 价格

    @Field(type = FieldType.Keyword, index = false)
    private String skus;                // List<sku> 信息的 json 结构

    private Map<String, Object> specs;  // 可搜索的规格参数，key 是参数名，值是参数值
}